home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 40
/
Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso
/
Aminet
/
misc
/
emu
/
ATUtilities.lha
/
ATUtilities
/
HelpText
/
atlib.txt
< prev
next >
Wrap
Text File
|
2000-09-26
|
28KB
|
920 lines
#page 000
Die ATUtilities-Library:
Inhaltsübersicht -- Teil 1:
Seite 10: GetOpalFont()()
Seite 20: ExitWarning()()
Seite 30: ErrorRequest(errorNum) (d0)
Seite 40: InfoRequest(info) (a0)
Seite 50: MultiRequest(info1,info2,positive,negative) (a0/a1/a2/a3)
Seite 60: CallUtility(name) (a0)
Seite 70: (Funktionen nur für ATKeyboard sinnvoll)
CreateUtilityList()()
DeleteUtilityList()()
CallUtilityList()()
Seite 80: CreatePublicHandler(jIntNum) (d0)
Seite 90: DeletePublicHandler(handler) (a0)
#next 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 001
Inhaltsübersicht -- Teil 2:
Seite 100: AllocCommMemory()
Seite 110: FreeCommMemory()
Seite 120: DrawPBorder(win,leftEdge,topEdge,width,height) (a0,d0/d1/d2/d3)
Seite 130: DrawNBorder(win,leftEdge,topEdge,width,height) (a0,d0/d1/d2/d3)
Seite 140: DrawPTextBorder(win,leftEdge,topEdge,width,height,text) (a0,d0/d1/d2/d3,a1)
Seite 150: DrawNTextBorder(win,leftEdge,topEdge,width,height,text) (a0,d0/d1/d2/d3,a1)
Seite 160: WriteText(rp,x,y,text) (a0,d0/d1,a1)
Seite 170: SelectStdFPen(rp) (a0)
Seite 180: SelectStdBPen(rp) (a0)
Seite 190: UsePrefs()()
Seite 200: CreateStdWindow(title,leftEdge,topEdge,width,height,idcmp,flags) (a0,d0/d1/d2/d3/d4/d5)
Seite 210: DeleteStdWindow(window) (a0)
Seite 220: CreateBoolGadget(window,leftEdge,topEdge,width,height,text,id) (a0,d0/d1/d2/d3/a1/d4)
Seite 230: CreateStringGadget(window,leftEdge,topEdge,width,height,string,maxPos,id)
(a0,d0/d1/d2/d3/a1/d4/d5)
Seite 240: CreateNToggleGadget(window,leftEdge,topEdge,width,height,text,id) (a0,d0/d1/d2/d3/a1/d4)
Seite 250: CreateSToggleGadget(window,leftEdge,topEdge,width,height,text,id) (a0,d0/d1/d2/d3/a1/d4)
#next 002 Inhalt (3)
#goto 001 Inhalt (2)
#goto 003 Inhalt (4)
#page 002
Inhaltsübersicht -- Teil 3:
Seite 260: CreateIntegerGadget(window,leftEdge,topEdge,width,height,string,maxPos,id)
(a0,d0/d1/d2/d3/a1/d4/d5)
Seite 270: DrawCPBorder(win,leftEdge,topEdge,width,height) (a0,d0/d1/d2/d3)
Seite 280: DrawCNBorder(win,leftEdge,topEdge,width,height) (a0,d0/d1/d2/d3)
Seite 290: DrawCPTextBorder(win,leftEdge,topEdge,width,height,text) (a0,d0/d1/d2/d3,a1)
Seite 300: DrawCNTextBorder(win,leftEdge,topEdge,width,height,text) (a0,d0/d1/d2/d3,a1)
Seite 310: CreateProcess(function,stack,name,priority) (a0,d0,a1,d1)
Seite 320: AvailJanusMem(type) (d0)
Seite 330: Utility(name,type) (a0,d0)
Seite 340: Received(port) (a0)
Seite 350: InformationBox(title,t1,t2,t3,t4,iconName) (a0,d0/d1/d2/d3/d4)
Seite 360: LibraryInfo()()
Seite 370: CreatePrivateHandler(jIntNum,size) (d0/d1)
Seite 380: DeletePrivateHandler(handler) (a0)
Seite 390: ConvertDateStamp(dateStamp,newDateStamp) (a0/a1)
Seite 400: ConvertIntelMotorola(longword) (d0)
Seite 410: CreateAppItem(title) (a0)
Seite 420: DeleteAppItem(app) (a0)
#next 003 Inhalt (4)
#goto 000 Inhalt (1)
#goto 002 Inhalt (3)
#page 003
Inhaltsübersicht -- Teil 4:
Seite 430: ChangeTaskPri(priority) (d0)
Seite 440: Help(helpName,page) (a0,d0)
Seite 450: CreateMinGadget(window,leftEdge,topEdge,width,height,id) (a0,d0/d1/d2/d3/d4)
#next 010 GetOpalFont()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#page 010
struct TextFont *GetOpalFont() _LVOGetOpalFont=-30
Diese Funktion liefert einen Zeiger auf den Opal/9-Font zurück. Dazu muß
jedoch die Diskfont-Library und der Font verfügbar sein.
#next 020 ExitWarning()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 020
BOOL ExitWarning() _LVOExitWarning=-36
Diese Funktion öffnet einen Requester mit folgendem Text:
Warnung: Das Beenden dieses ATUtilities
kann Probleme erurschen, wenn MS-DOS
einen erneuten Zugriffsversuch macht!
Nach Beendigung sollte ein Reset der
PC/AT-Karte gemacht werden.
Wollen Sie wirklich beenden?
[Ja, Programmende] [Nein, zurück]
Es wird TRUE zurückgeliefert, wenn "Ja, Programmende" gewählt wurde, sonst
FALSE. Diese Funktion sollte vor dem Beenden von ATUtilities aufgerufen werden,
wenn das zugehörige PC-Programm eine Beendigung nicht automatisch erkennt.
#next 030 ErrorRequest()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 030
VOID ErrorRequest(errorNum) _LVOErrorRequest=-42
D0: ULONG errorNum
Diese Funktion gibt den Text eines ATUtilities-Fehlers aus. Fehlernummern:
0 (ERROR_JANUS): "Fehler beim öffnen der Janus-Library."
1 (ERROR_DISKFONT): "Fehler beim öffnen der DiskFont-Library."
2 (ERROR_OPAL): "Fehler beim Laden des Opal-Fonts."
3 (ERROR_MENU): "Fehler bei der Menü-Installation."
4 (ERROR_ALLOC): "Nicht genug freier Speicher."
5 (ERROR_SIGNAL): "Nicht genug freie Task-Signale."
6 (ERROR_SETUP): "Janus-Interrupt ist schon belegt!."
7 (ERROR_JALLOC): "Nicht genug freier DualPorted-Speicher."
8 (ERROR_PORT): "Kann Message-Port nicht erstellen."
9 (ERROR_MPORT): "Kann Port für Utility-Manager nicht erstellen."
10000 (ERROR_UNDEF): "ATUtilities: Undefinirter Fehler."
#next 040 InfoRequest()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 040
VOID InfoWarning(info) _LVOInfoRequest=-48
A0: UBYTE *info
Diese Funktion gibt einen beliebigen einzeiligen Informationstext in einem
Requester aus. Der Requester wird durch klicken auf ein "Okay"-Gadget beendet.
Beispiel:
InfoRequest("Konnte Screen nicht öffnen!");
#next 050 MultiRequest()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 050
BOOL MultiRequest(info1,info2,positiv,negativ) _LVOMultiRequest=-54
A0: UBYTE *info1;
A1: UBYTE *info2;
A2: UBYTE *positiv;
A3: UBYTE *negativ;
Diese Funktion öffnet einen zweizeiligen Multifunktionsrequester.
"positiv" gibt den Text für das erste Gadget an, "negativ" den Text für das
Zweite. Ist "negativ" Null, so ist "negativ" gleich "positiv". MultiRequest()
gibt das Ergebnis der Abfrage als Boolean-Wert zurück: TRUE für Wahl von
"positiv", FALSE für "negativ".
Beispiele:
bool=MultiRequest("Wählen Sie bitte:","Rechts oder Links","Rechts","Links");
MultiRequest("Fehler:","Konnte Screen nicht öffnen!","Okay",NULL);
#next 060 CallUtility()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 060
VOID CallUtility(name) _LVOCallUtility=-60
A0: UBYTE *name
Diese Funktion ruft das Utility mit dem Portnamen "name" auf. Sollte es (noch)
nicht laufen, so erscheint folgender Requester:
Externe Erweiterung ist (noch) nicht aktiv:
(( Name des Ports ))
Ansonsten öffnet das Utility das Einstellungsfenster.
#next 070 ATKeyboard-F.
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 070
Achtung:
Diese Funktionen sind nur für ATKeyboard sinnvoll. Sie sollten nicht
in anderen Programmen verwendet werden!
struct MenuItem *CreateUtilityList() _LVOCreateUtilityList=-66
Diese Funktion erstellt die Untermenüs von "Externe Erweiterungen".
VOID DeleteUtilityList() _LVODeleteUtilityList=-72
Der belegte Speicher für die Untermenüs wird freigeben.
VOID CallUtilityList(nummer) _LVOCallUtilityList=-78
D0: ULONG nummer
Ein Untermenü wurde angewählt. Die ATUtilities-Library soll nun auf das
Sub-Item "nummer" reagieren.
#next 080 CreatePublicHandler
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 080
struct ExtendedSetupSig *CreatePublicHandler(jIntNum) _LVOCreatePublicHandler=-84
D0: UBYTE jIntNum
Diese Funktion erstellt einen Janus-Interrupt-Handler für Janus-Interrupt
"jIntNum". Außer der Interrupt-Belegung wird auch noch ein 16 KByte
großer Speicherbereich (CommMemory) für die Kommunikation bereitgestellt
und ein Signal-Bit für Wait() belegt.
Das CommMemory wird von allen mit CreatePublicHandler() belegten Janus-Interrupts
gemeinsam benutzt, da der PC nicht Multitaskingfähig ist. Soll der Interrupt
den Speicher nur für sich alleine haben, so benutzen Sie CreatePrivateHandler().
ExtendedSetupSig:
00 UWORD Offset - Offset auf CommMemory
02 struct SetupSig *SetupSig - Zeiger auf SetupSig
06 ULONG JanusSignal - Signalbit
10 ULONG JanusSignalMask - Signalmaske für Wait()
14 UBYTE *ByteAccess - Zeiger auf CommMemory mit Bytezugriff (MEM_BYTEACCESS)
18 UWORD *WorkAccess - Zeiger auf CommMemory mit Wordzugriff (MEM_WORDACCESS)
Weitere Informationen zum CommMemory siehe AllocCommMemory() auf Seite 100.
#next 090 DeletePublicHandler()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 090
VOID DeletePublicHandler(handler) _LVODeletePublicHandler=-90
A0: struct ExtendedSetupSig *handler
Diese Funktion gibt einen mit CreatePublicHandler() belegten Janus-Interrupt
wieder frei. Wurden alle Janus-Interrupts, die CommMemory benutzten, freigegeben,
so wird auch dieses deallokiert.
#next 100 AllocCommMemory()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 100
struct CommMemory *AllocCommMemory() _LVOAllocCommMemory=-96
Diese Funktion belegt 16 KBytes für den CommMemory-Speicherbereich. Dieser
Speicherbereich wird im Buffer-RAM belegt - auf PC-Seite liegt dieser
Bereich bei der AT-Karte ab Segment $D400. Der zurückgelieferte Zeiger
hat den Zugriffstyp MEM_WORDACCESS.
CommMemory:
0 UBYTE Memory[16384] - 16 KBytes für Daten
16384 UWORD Arg1 - Argument 1 - normalerweise Kommando
16386 UWORD Arg2 - Argument 2
16388 UWORD Arg3 - Argument 3
16390 UWORD Arg4 - Argument 4
16392 UWORD Arg5 - Argument 5
16394 UWORD Arg6 - Argument 6
16396 UWORD Arg7 - Argument 7
16398 UWORD Arg8 - Argument 8
#next 110 FreeCommMemory()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 110
VOID FreeCommMemory() _LVOFreeCommMemory=-102
Dieser Befehl gibt die Zugriffsberechtigung für den CommMemory-Bereich
wieder zurück. Haben alle Programme, die AllocCommMemory aufgerufen haben,
dies getan, so wird der Speicher freigegeben.
#next 120 DrawPBorder()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 120
VOID DrawPBorder(window,x,y,länge,höhe) _LVODrawPBorder=-108
A0: struct Window *window
D0: UWORD x
D1: UWORD y
D2: UWORD länge
D3: UWORD höhe
Dieser Befehl zeichnet im Fenster "window" einen nach außen gedrückten
Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
die Länge und Höhe.
#next 130 DrawNBorder()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 130
VOID DrawNBorder(window,x,y,länge,höhe) _LVODrawNBorder=-114
A0: struct Window *window
D0: UWORD x
D1: UWORD y
D2: UWORD länge
D3: UWORD höhe
Dieser Befehl zeichnet im Fenster "window" einen nach innen gedrückten
Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
die Länge und Höhe.
#next 140 DrawPTextBorder()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 140
VOID DrawPTextBorder(window,x,y,länge,höhe,text) _LVODrawPTextBorder=-120
A0: struct Window *window
D0: UWORD x
D1: UWORD y
D2: UWORD länge
D3: UWORD höhe
A1: UBYTE *text
Dieser Befehl zeichnet im Fenster "window" einen nach außen gedrückten
Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
die Länge und Höhe. Danach wird in diesem Bereich der Text "text" zentriert
ausgegeben.
#next 150 DrawNTextBorder()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 150
VOID DrawNTextBorder(window,x,y,länge,höhe,text) _LVODrawNTextBorder=-126
A0: struct Window *window
D0: UWORD x
D1: UWORD y
D2: UWORD länge
D3: UWORD höhe
A1: UBYTE *text
Dieser Befehl zeichnet im Fenster "window" einen nach innen gedrückten
Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
die Länge und Höhe. Danach wird in diesem Bereich der Text "text" zentriert
ausgegeben.
#next 160 WriteText()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 160
VOID WriteText(rastPort,x,y,text) _LVOWriteText=-132
A0: struct RastPort *rastPort
D0: UWORD x
D1: UWORD y
A1: UBYTE *text
Dieser Befehl gibt im Rast-Port "rastPort" einen Text an der Position
"x","y" aus.
#next 170 SelectStdFPen()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 170
VOID SelectStdFPen(rastPort) _LVOSelectStdFPen=-138
A0: struct RastPort *rastPort
Dieser Befehl setzt die Vordergrundzeichenfarbe des Rast-Port "rastPort"
auf den Standardwert für die jeweilige Betriebssystemversion.
#next 180 SelectStdBPen()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 180
VOID SelectStdBPen(rastPort) _LVOSelectStdBPen=-144
A0: struct RastPort *rastPort
Dieser Befehl setzt die Hintergrundzeichenfarbe des Rast-Port "rastPort"
auf den Standardwert für die jeweilige Betriebssystemversion.
#next 190 UsePrefs()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 190
BOOL UsePrefs() _LVOUsePrefs=-150
Diese Funktion öffnet folgenden Requester:
Wollen Sie die gemachten Einstellungen
Übernehmen oder verwerfen ?
[Übernehmen] [Verwerfen]
Bei Übernehmen wird TRUE zurückgeliefert, sonst FALSE.
#next 200 CreateStdWindow()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 200
struct Window *CreateStdWindow(titel,x,y,breite,höhe,IDCMP,flags) _LVOCreateStdWindow=-156
A0: UBYTE *titel
D0: UWORD x
D1: UWORD y
D2: UWORD breite
D3: UWORD höhe
D4: ULONG IDCMP
D5: ULONG flags
Diese Funktion öffnet ein Fenster an der Position "x","y" mit "breite" Pixel
Breite und "höhe" Pixel Höhe. "flags" gibt die Window-Flags an, "IDCMP" die
zu sendenden Ereignisse.
Für die Gadget-Funktionen wird der Eintrag "UserData" auf Null gesetzt.
Er nimmt später eine Remember-Struktur auf.
#next 210 DeleteStdWindow()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 210
VOID DeleteStdWindow(fenster) _LVODeleteStdWindow=-162
A0: struct Window *fenster
Diese Funktion schließt ein mit CreateStdWindow() geöffnetes Fenster.
Sind Remember-Einträge vorhanden, so werden sie freigegeben.
#next 220 CreateBoolGadget()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 220
struct Gadget *CreateBoolGadget(fenster,x,y,breite,höhe,text,id) _LVOCreateBoolGadget=-168
A0: struct Window *fenster
D0: UWORD x
D1: UWORD y
D2: UWORD breite
D3: UWORD höhe
A1: UBYTE *text
D4: UWORD id
Diese Funktion erstellt im Fenster "window" ein Boolean-Gadget.
"text" gibt den in das Gadget zu zentrierenden Text an, "id" die Kennnummer.
#next 230 CreateStringGadget()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 230
UBYTE *CreateStringGadget(fenster,x,y,breite,höhe,text,maxPos,id) _LVOCreateStringGadget=-174
A0: struct Window *fenster
D0: UWORD x
D1: UWORD y
D2: UWORD breite
D3: UWORD höhe
A1: UBYTE *text
D4: UWORD maxPos
D5: UWORD id
Diese Funktion erstellt im Fenster "window" ein String-Gadget.
"text" gibt den voreingestellten Text an, "id" die Kennnummer,
"maxPos" die maximale Anzahl von Zeichen im Gadget.
Wichtig:
CreateStringGadget() gibt einen Zeiger auf den String-Buffer zurück,
nicht auf die Gadget-Struktur!
#next 240 CreateNToggleGadget()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 240
struct Gadget *CreateNToggleGadget(fenster,x,y,breite,höhe,text,id) _LVOCreateNToggleGadget=-180
A0: struct Window *fenster
D0: UWORD x
D1: UWORD y
D2: UWORD breite
D3: UWORD höhe
A1: UBYTE *text
D4: UWORD id
Diese Funktion erstellt im Fenster "window" ein Toggle-Gadget.
"text" gibt den in das Gadget zu zentrierenden Text an, "id" die Kennnummer.
Das Gadget ist nach dem Aufruf dieser Funktion nicht gedrückt.
#next 250 CreateSToggleGadget()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 250
struct Gadget *CreateSToggleGadget(fenster,x,y,breite,höhe,text,id) _LVOCreateSToggleGadget=-186
A0: struct Window *fenster
D0: UWORD x
D1: UWORD y
D2: UWORD breite
D3: UWORD höhe
A1: UBYTE *text
D4: UWORD id
Diese Funktion erstellt im Fenster "window" ein Toggle-Gadget.
"text" gibt den in das Gadget zu zentrierenden Text an, "id" die Kennnummer.
Das Gadget ist nach dem Aufruf dieser Funktion gedrückt (SELECTED).
#next 260 CreateIntegerGadget()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 260
UBYTE *CreateIntegrGadget(fenster,x,y,breite,höhe,string,maxPos,id) _LVOCreateIntegerGadget=-192
A0: struct Window *fenster
D0: UWORD x
D1: UWORD y
D2: UWORD breite
D3: UWORD höhe
A1: UBYTE *string
D4: UWORD maxPos
D5: UWORD id
Diese Funktion erstellt im Fenster "window" ein Integer-Gadget.
"text" gibt den voreingestellten Text an, "id" die Kennnummer,
"maxPos" die maximale Anzahl von Zeichen im Gadget.
"string" gibt die Vorgabe-Zahl in Textform an:
z. B. "0", "1000".
Wichtig:
CreateIntegerGadget() gibt einen Zeiger auf den String-Buffer zurück,
nicht auf die Gadget-Struktur!
#next 270 DrawCPBorder()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 270
VOID DrawCPBorder(window,x,y,länge,höhe) _LVODrawCPBorder=-198
A0: struct Window *window
D0: UWORD x
D1: UWORD y
D2: UWORD länge
D3: UWORD höhe
Dieser Befehl zeichnet im Fenster "window" einen nach außen gedrückten
Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
die Länge und Höhe. Bevor jedoch der Rahmen gezeichnet wird, wird
der Bereich innerhalb des Rahmens mit Farbe 0 gelöscht.
#next 280 CreateCNBorder()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 280
VOID DrawCNBorder(window,x,y,länge,höhe) _LVODrawNPBorder=-204
A0: struct Window *window
D0: UWORD x
D1: UWORD y
D2: UWORD länge
D3: UWORD höhe
Dieser Befehl zeichnet im Fenster "window" einen nach innen gedrückten
Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
die Länge und Höhe. Bevor jedoch der Rahmen gezeichnet wird, wird
der Bereich innerhalb des Rahmens mit Farbe 0 gelöscht.
#next 290 DrawCPTextBorder()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 290
VOID DrawCPTextBorder(window,x,y,länge,höhe,text) _LVODrawCPTextBorder=-210
A0: struct Window *window
D0: UWORD x
D1: UWORD y
D2: UWORD länge
D3: UWORD höhe
A1: UBYTE *text
Dieser Befehl zeichnet im Fenster "window" einen nach außen gedrückten
Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
die Länge und Höhe. Danach wird in diesem Bereich der Text "text" zentriert
ausgegeben. Bevor jedoch der Rahmen gezeichnet wird, wird der Bereich
innerhalb des Rahmens mit Farbe 0 gelöscht.
#next 300 DrawCNTextBorder()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 300
VOID DrawCNTextBorder(window,x,y,länge,höhe,text) _LVODrawCNTextBorder=-216
A0: struct Window *window
D0: UWORD x
D1: UWORD y
D2: UWORD länge
D3: UWORD höhe
A1: UBYTE *text
Dieser Befehl zeichnet im Fenster "window" einen nach innen gedrückten
Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
die Länge und Höhe. Danach wird in diesem Bereich der Text "text" zentriert
ausgegeben. Bevor jedoch der Rahmen gezeichnet wird, wird der Bereich
innerhalb des Rahmens mit Farbe 0 gelöscht.
#next 310 CreateProcess()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 310
struct Process *CreateProcess(funktion,stack,name,priorität) _LVOCreateProcess=-222
A0: VOID (funktion *)()
D0: ULONG stack
A1: UBYTE *name
D1: BYTE priorität
Diese Funktion erstellt einen Neuen Prozess. "funktion" ist ein Zeiger
auf die Routine, "stack" die Anzahl der Bytes für den Stack, "name" ein
Zeiger auf den neuen Task-Namen, "priorität" die Task-Priorität.
#next 320 AvailJanusMem()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 320
UWORD AvailJanusMem(type) _LVOAvailJanusMem=-228
D0: UWORD type
Diese Funktion ermittelt die Anzahl der freien Bytes eines
Janus-Speicherbereichs.
"type":
Parameter-Speicher: MEMF_PARAMETER=1
Buffer-Speicher: MEMF_BUFFER=2
#next 330 Utility()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 330
VOID Utility(name,aktion) _LVOUtility=-234
A0: UBYTE *name
D0: UWORD aktion;
Diese Funktion ruft ein Utility mit dem Kommando "aktion" auf.
UTILITY_CALL bewirk das gleiche wie der Befehl CallUtility(). Utility()
kann benutzt werden, um z. B. die Online-Hilfe für ein Utility direkt
aufzurufen.
Es stehen folgende Kommandos zur verfügung:
Utility aufrufen (wie CallUtility()): UTILITY_CALL=50
Utility beenden: UTILITY_QUIT=40
Information über Utility: UTILITY_INFO=20
Online-Hilfe für Utility: UTILITY_HELP=30
#next 340 Received()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 340
UWORD Received(port) _LVOReceived=-240
A0: struct MsgPort *port
Diese Funktion wird muß in einem Utility aufgerufen werden, wenn mit Wait()
eine Message am Kommandoport ermittelt wurde. Received() gibt dann die
Kommandonummer zurück, die bei Utility() aufgerufen wurde. Beispiel:
Port=Zeiger auf erstellten Kommando-Port, PortSignalMask=(1L<<Port->mp_SigBit);
while(ende==FALSE)
{
Signale=Wait(JanusSignalMask+PortSignalMask)
if(Signale & PortSignalMask)
{
cmd=Received(Port);
switch(cmd)
{
case UTILITY_CALL:
EinstellungenAendern();
break;
.......
#next 350 InformationBox()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 350
VOID InformationBox(titel,t1,t2,t3,t4,iconName) _LVOInformationBox=-246
A0: UBYTE *titel
D0: UBYTE *t1
D1: UBYTE *t2
D2: UBYTE *t3
D3: UBYTE *t4
D4: UBYTE *iconName
Diese Funktion erstellt das Standard-Informationsfenster. "titel" gibt
den Fenstertitel an, "t1" bis "t4" die vier Textzeilen, "iconName" den
Namen des Programm-Icons (ohne ".info" !) oder Null..
Beispiel:
InformationBox("Test-Programm - Information",
"Test-Programm - Version 2.0",
"Copyright (C) 1995 by",
"X. Y.",
"All rights reserved",
"DH0:Test/TestIcon");
#next 360 LibraryInfo()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 360
VOID LibraryInfo() _LVOLibraryInfo=-252
Diese Funktion gibt Informationen über die ATUtilities-Library aus.
#next 370 CreatePrivateHandler()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 370
struct ExtendedSetupSig *CreatePrivateHandler(jIntNum,bytes) _LVOCreatePrivateHandler=-258
D0: UBYTE jIntNum
D1: UWORD bytes
Diese Funktion erstellt einen Janus-Interrupt-Handler für Janus-Interrupt
"jIntNum". Als Kommunikationsspeicher werden ihm "bytes" Bytes Buffer-Speicher
zugewiesen.
ExtendedSetupSig:
00 UWORD Offset - Offset auf Buffer-Speicher
02 struct SetupSig *SetupSig - Zeiger auf SetupSig
06 ULONG JanusSignal - Signalbit
10 ULONG JanusSignalMask - Signalmaske für Wait()
14 UBYTE *ByteAccess - Zeiger auf Speicher mit Bytezugriff (MEM_BYTEACCESS)
18 UWORD *WorkAccess - Zeiger auf Speicher mit Wordzugriff (MEM_WORDACCESS)
#next 380 DeletePrivateHandler()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 380
VOID DeletePrivateHandler(handler) _LVODeletePrivateHandler=-264
A0: struct ExtendedSetupSig *handler
Diese Funktion gibt einen mit CreatePrivateHandler() belegten Janus-Interrupt
wieder frei.
#next 390 ConvertDateStamp()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 390
VOID ConvertDateStamp(dateStamp,newDateStamp) _LVOConvertDateStamp=-270
A0: struct DateStamp *dateStamp
A1: struct NewDateStamp *newDateStamp
Diese Funktion konvertiert einen DateStamp in eine neue Form, in der alle
Angaben ohne Umrechnung verwendbar sind. "dateStamp" gibt den Date-Stamp an,
"newDateStamp" einen Speicherbereich, in dem die neuen Angaben gesichert
werden sollen.
NewDateStamp:
0 UBYTE Hour - Stunde
1 UBYTE Minute - Minute
2 UBYTE Second - Sekunde
3 UBYTE DayNum - Wochentag (0=Sonntag, 1=Montag usw.)
4 UBYTE Day - Tag
5 UBYTE Month - Monat
6 UWORD Year - Jahr
#next 400 ConvertIntelMotorola()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 400
ULONG ConvertIntelMotorola(longword) _LVOConvertIntelMotorola=-276
D0: ULONG longword
Diese Funktion konvertiert ein Langword zwischen Intel-Prozessoren und
Motorola-Prozessoren. Ein Intel-Langword kann so ins Dual Ported RAM
geschrieben werden, vom Amiga mit Wordzugriff ausgelesen und mit
ConvertIntelMotorola() zum Amiga-Langword konvertiert werden und umgekehrt.
Dabei werden die oberen 16 Bit mit den Unteren 16 Bit vertauscht.
#next 410 CreateAppItem()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 410
struct AppManager *CreateAppItem(titel) _LVOCreateAppItem=-282
A0: UBYTE *titel
Diese Funktion erzeugt ein neues App-Item mit dem Titel "titel". Sie wird
jedoch nur ausgeführt, wenn Amiga-DOS 2.0 vorhanden ist. Es wird ein Zeiger
auf folgende Struktur zurückgegeben:
AppManager:
0 struct MsgPort *Port - Zeiger auf Message-Port für App-Item
4 ULONG SignalMask - Signal-Maske für Wait
8 APTR AppItem - Zeiger auf App-Item
Durch den Message-Port oder dessen Signal-Mask kann auf die Anwahl des Items
gewartet werden. Ist eine Message angekommen, so muß sie mit GetMsg() geholt
und dann durch ReplyMsg() zurückgegeben werden. Beispiel:
Signale=Wait(..);
if(Signale & AppManager->SignalMask) {
ReplyMsg(GetMsg(AppManager->Port));
... }
#next 420 DeleteAppItem()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 420
VOID DeleteAppItem(appManager) _LVODeleteAppItem=-288
A0: struct AppManager *appManager
Ein mit CreateAppItem() erstelltes App-Item wird wieder entfernt.
#next 430 ChangeTaskPri()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 430
VOID ChangeTaskPri(pri) _LVOChangeTaskPri=-294
D0: BYTE pri
Die Priorität des aktuellen Tasks wird auf "pri" gesetzt.
#next 440 Help()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 440
VOID Help(name,seite) _LVOHelp=-300
A0: UBYTE *name
D0: UWORD seite
Diese Funktion ruft die Online-Hilfe mit der Hilfedatei "name" auf.
Es wird Seitennummer "seite" angezeigt.
Anmerkung:
Das gesamte Online-Hilfe-System befindet sich in die ATUtilities-Library,
so daß es immer verfügbar ist.
Textdateien werden mit dem Programm "hc" im Help-Verzeichnis in Hilfedateien
übersetzt. Die Datei hc.txt im gleichen Verzeichnis enthält dazu weitere
Informationen.
#next 450 CreateMinGadget()
#goto 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#page 450
struct Gadget *CreateMinGadget(win,x,y,breite,höhe,id) _LVOCreateMinGadget=-306
A0: struct Window *fenster
D0: UWORD x
D1: UWORD y
D2: UWORD breite
D3: UWORD höhe
D4: UWORD id
Diese Funktion erstellt im Fenster "window" ein Boolean-Gadget. Dazu wird
aber kein Rahmen gezeichnet! Durch das GADGHNONE-Flag wird eine invertierung
des Gadget-Bereichs bei Anwahl unterbunden.
#next 000 Inhalt (1)
#goto 001 Inhalt (2)
#goto 002 Inhalt (3)
#goto 003 Inhalt (4)
#end